﻿/***********************************************************************************************
 * 
 * ProjectName: WMSSoft.Lib.Shell
 * 
 * Description: Provides Members needed for Shell functionality
 * 
 * Created:     11.11.2012
 * 
 * Author:      matthias wagler - matthias@WMSSoft.de
 * 
 * Copyright:   Copyright 2012 by WMSSoft.net
 * 
 * License:     GPLv3
 * 
 * History:     11.11.2012 - matthias wagler matthias@WMSSoft.de    -   Created
 * 
 **********************************************************************************************/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Runtime.InteropServices;

namespace WMSSoft.Lib.Shell
{
    

    public static class ShellExecErrorMessages
    {
        public const string SE_ERR_FNF = "The specified file was not found.";
        public const string SE_ERR_PNF = "The specified path was not found.";
        public const string SE_ERR_ACCESSDENIED = "The operating system denied access to the specified file.";
        public const string SE_ERR_OOM = "There was not enough memory to complete the operation.";
        public const string SE_ERR_DLLNOTFOUND = "The specified DLL was not found.";
        public const string SE_ERR_SHARE = "A sharing violation occurred.";
        public const string SE_ERR_ASSOCINCOMPLETE = "The file name association is incomplete or invalid.";
        public const string SE_ERR_DDETIMEOUT = "The DDE transaction could not be completed because the request timed out.";
        public const string SE_ERR_DDEFAIL = "The DDE transaction failed.";
        public const string SE_ERR_DDEBUSY = "The DDE transaction could not be completed because other DDE transactions were being processed.";
        public const string SE_ERR_NOASSOC = "There is no application associated with the given file name extension. This error will also be returned if you attempt to print a file that is not printable.";
    }

    public static class ShellAPIConst
    {
        //public static int cbFileInfo = Marshal.SizeOf(typeof(SHFILEINFO));
        public static int cbMenuItemInfo = Marshal.SizeOf(typeof(MENUITEMINFO));
        //public static int cbTpmParams = Marshal.SizeOf(typeof(TPMPARAMS));
        //public static int cbInvokeCommand = Marshal.SizeOf(typeof(CMINVOKECOMMANDINFOEX));
    }

}
